package com.ym.b2b.type.dao.impl;

import java.util.List;

import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;

import com.ym.b2b.commons.dao.BaseDao;
import com.ym.b2b.type.dao.EmBNewsTypeDAO;
import com.ym.b2b.type.sqlbean.EmBNewsType;

@Repository("emBNewsTypeDAO")
public class EmBNewsTypeDAOImpl<T> extends BaseDao<T> implements EmBNewsTypeDAO {

    @Override
    public void insertEmBNewsType(EmBNewsType record) throws DataAccessException {
        insert("EM_B_NEWS_TYPE.insertEmBNewsType", record);
    }

    @Override
    public int updateEmBNewsType(EmBNewsType record) throws DataAccessException {
        int rows = update("EM_B_NEWS_TYPE.updateEmBNewsType", record);
        return rows;
    }

    @Override
    public EmBNewsType searchEmBNewsType(Long newsTypeId) throws DataAccessException {
        EmBNewsType key = new EmBNewsType();
        key.setNewsTypeId(newsTypeId);
        EmBNewsType record = (EmBNewsType) find("EM_B_NEWS_TYPE.searchEmBNewsType", key);
        return record;
    }

    @Override
    public List<EmBNewsType> searchEmBNewsTypeByParentId(EmBNewsType emBNewsType) throws DataAccessException {
        return list("EM_B_NEWS_TYPE.searchEmBNewsType", emBNewsType);
    }

    @Override
    public int deleteEmBNewsType(String idList) throws DataAccessException {
        int rows = delete("EM_B_NEWS_TYPE.deleteEmBNewsType", idList);
        return rows;
    }

    @Override
    public long searchEmBNewsTypeNum(EmBNewsType emBNewsType) throws DataAccessException {
        return (Long) listNum("EM_B_NEWS_TYPE.searchEmBNewsTypeNum", emBNewsType);
    }

    @Override
    public EmBNewsType showCmsTypeDetail(Long newsTypeId) throws DataAccessException {

        return (EmBNewsType) find("EM_B_NEWS_TYPE.showCmsTypeDetail", newsTypeId);
    }

}
